// Copyright 2016 The kingshard Authors. All rights reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License"): you may
// not use this file except in compliance with the License. You may obtain
// a copy of the License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
// License for the specific language governing permissions and limitations
// under the License.

package mysql

const (
	DEFAULT_MYSQL_STATE = "HY000"
)

var MySQLState = map[uint16]string{
	ER_DUP_KEY:                                  "23000",
	ER_OUTOFMEMORY:                              "HY001",
	ER_OUT_OF_SORTMEMORY:                        "HY001",
	ER_CON_COUNT_ERROR:                          "08004",
	ER_BAD_HOST_ERROR:                           "08S01",
	ER_HANDSHAKE_ERROR:                          "08S01",
	ER_DBACCESS_DENIED_ERROR:                    "42000",
	ER_ACCESS_DENIED_ERROR:                      "28000",
	ER_NO_DB_ERROR:                              "3D000",
	ER_UNKNOWN_COM_ERROR:                        "08S01",
	ER_BAD_NULL_ERROR:                           "23000",
	ER_BAD_DB_ERROR:                             "42000",
	ER_TABLE_EXISTS_ERROR:                       "42S01",
	ER_BAD_TABLE_ERROR:                          "42S02",
	ER_NON_UNIQ_ERROR:                           "23000",
	ER_SERVER_SHUTDOWN:                          "08S01",
	ER_BAD_FIELD_ERROR:                          "42S22",
	ER_WRONG_FIELD_WITH_GROUP:                   "42000",
	ER_WRONG_SUM_SELECT:                         "42000",
	ER_WRONG_GROUP_FIELD:                        "42000",
	ER_WRONG_VALUE_COUNT:                        "21S01",
	ER_TOO_LONG_IDENT:                           "42000",
	ER_DUP_FIELDNAME:                            "42S21",
	ER_DUP_KEYNAME:                              "42000",
	ER_DUP_ENTRY:                                "23000",
	ER_WRONG_FIELD_SPEC:                         "42000",
	ER_PARSE_ERROR:                              "42000",
	ER_EMPTY_QUERY:                              "42000",
	ER_NONUNIQ_TABLE:                            "42000",
	ER_INVALID_DEFAULT:                          "42000",
	ER_MULTIPLE_PRI_KEY:                         "42000",
	ER_TOO_MANY_KEYS:                            "42000",
	ER_TOO_MANY_KEY_PARTS:                       "42000",
	ER_TOO_LONG_KEY:                             "42000",
	ER_KEY_COLUMN_DOES_NOT_EXITS:                "42000",
	ER_BLOB_USED_AS_KEY:                         "42000",
	ER_TOO_BIG_FIELDLENGTH:                      "42000",
	ER_WRONG_AUTO_KEY:                           "42000",
	ER_FORCING_CLOSE:                            "08S01",
	ER_IPSOCK_ERROR:                             "08S01",
	ER_NO_SUCH_INDEX:                            "42S12",
	ER_WRONG_FIELD_TERMINATORS:                  "42000",
	ER_BLOBS_AND_NO_TERMINATED:                  "42000",
	ER_CANT_REMOVE_ALL_FIELDS:                   "42000",
	ER_CANT_DROP_FIELD_OR_KEY:                   "42000",
	ER_BLOB_CANT_HAVE_DEFAULT:                   "42000",
	ER_WRONG_DB_NAME:                            "42000",
	ER_WRONG_TABLE_NAME:                         "42000",
	ER_TOO_BIG_SELECT:                           "42000",
	ER_UNKNOWN_PROCEDURE:                        "42000",
	ER_WRONG_PARAMCOUNT_TO_PROCEDURE:            "42000",
	ER_UNKNOWN_TABLE:                            "42S02",
	ER_FIELD_SPECIFIED_TWICE:                    "42000",
	ER_UNSUPPORTED_EXTENSION:                    "42000",
	ER_TABLE_MUST_HAVE_COLUMNS:                  "42000",
	ER_UNKNOWN_CHARACTER_SET:                    "42000",
	ER_TOO_BIG_ROWSIZE:                          "42000",
	ER_WRONG_OUTER_JOIN:                         "42000",
	ER_NULL_COLUMN_IN_INDEX:                     "42000",
	ER_PASSWORD_ANONYMOUS_USER:                  "42000",
	ER_PASSWORD_NOT_ALLOWED:                     "42000",
	ER_PASSWORD_NO_MATCH:                        "42000",
	ER_WRONG_VALUE_COUNT_ON_ROW:                 "21S01",
	ER_INVALID_USE_OF_NULL:                      "22004",
	ER_REGEXP_ERROR:                             "42000",
	ER_MIX_OF_GROUP_FUNC_AND_FIELDS:             "42000",
	ER_NONEXISTING_GRANT:                        "42000",
	ER_TABLEACCESS_DENIED_ERROR:                 "42000",
	ER_COLUMNACCESS_DENIED_ERROR:                "42000",
	ER_ILLEGAL_GRANT_FOR_TABLE:                  "42000",
	ER_GRANT_WRONG_HOST_OR_USER:                 "42000",
	ER_NO_SUCH_TABLE:                            "42S02",
	ER_NONEXISTING_TABLE_GRANT:                  "42000",
	ER_NOT_ALLOWED_COMMAND:                      "42000",
	ER_SYNTAX_ERROR:                             "42000",
	ER_ABORTING_CONNECTION:                      "08S01",
	ER_NET_PACKET_TOO_LARGE:                     "08S01",
	ER_NET_READ_ERROR_FROM_PIPE:                 "08S01",
	ER_NET_FCNTL_ERROR:                          "08S01",
	ER_NET_PACKETS_OUT_OF_ORDER:                 "08S01",
	ER_NET_UNCOMPRESS_ERROR:                     "08S01",
	ER_NET_READ_ERROR:                           "08S01",
	ER_NET_READ_INTERRUPTED:                     "08S01",
	ER_NET_ERROR_ON_WRITE:                       "08S01",
	ER_NET_WRITE_INTERRUPTED:                    "08S01",
	ER_TOO_LONG_STRING:                          "42000",
	ER_TABLE_CANT_HANDLE_BLOB:                   "42000",
	ER_TABLE_CANT_HANDLE_AUTO_INCREMENT:         "42000",
	ER_WRONG_COLUMN_NAME:                        "42000",
	ER_WRONG_KEY_COLUMN:                         "42000",
	ER_DUP_UNIQUE:                               "23000",
	ER_BLOB_KEY_WITHOUT_LENGTH:                  "42000",
	ER_PRIMARY_CANT_HAVE_NULL:                   "42000",
	ER_TOO_MANY_ROWS:                            "42000",
	ER_REQUIRES_PRIMARY_KEY:                     "42000",
	ER_KEY_DOES_NOT_EXITS:                       "42000",
	ER_CHECK_NO_SUCH_TABLE:                      "42000",
	ER_CHECK_NOT_IMPLEMENTED:                    "42000",
	ER_CANT_DO_THIS_DURING_AN_TRANSACTION:       "25000",
	ER_NEW_ABORTING_CONNECTION:                  "08S01",
	ER_MASTER_NET_READ:                          "08S01",
	ER_MASTER_NET_WRITE:                         "08S01",
	ER_TOO_MANY_USER_CONNECTIONS:                "42000",
	ER_READ_ONLY_TRANSACTION:                    "25000",
	ER_NO_PERMISSION_TO_CREATE_USER:             "42000",
	ER_LOCK_DEADLOCK:                            "40001",
	ER_NO_REFERENCED_ROW:                        "23000",
	ER_ROW_IS_REFERENCED:                        "23000",
	ER_CONNECT_TO_MASTER:                        "08S01",
	ER_WRONG_NUMBER_OF_COLUMNS_IN_SELECT:        "21000",
	ER_USER_LIMIT_REACHED:                       "42000",
	ER_SPECIFIC_ACCESS_DENIED_ERROR:             "42000",
	ER_NO_DEFAULT:                               "42000",
	ER_WRONG_VALUE_FOR_VAR:                      "42000",
	ER_WRONG_TYPE_FOR_VAR:                       "42000",
	ER_CANT_USE_OPTION_HERE:                     "42000",
	ER_NOT_SUPPORTED_YET:                        "42000",
	ER_WRONG_FK_DEF:                             "42000",
	ER_OPERAND_COLUMNS:                          "21000",
	ER_SUBQUERY_NO_1_ROW:                        "21000",
	ER_ILLEGAL_REFERENCE:                        "42S22",
	ER_DERIVED_MUST_HAVE_ALIAS:                  "42000",
	ER_SELECT_REDUCED:                           "01000",
	ER_TABLENAME_NOT_ALLOWED_HERE:               "42000",
	ER_NOT_SUPPORTED_AUTH_MODE:                  "08004",
	ER_SPATIAL_CANT_HAVE_NULL:                   "42000",
	ER_COLLATION_CHARSET_MISMATCH:               "42000",
	ER_WARN_TOO_FEW_RECORDS:                     "01000",
	ER_WARN_TOO_MANY_RECORDS:                    "01000",
	ER_WARN_NULL_TO_NOTNULL:                     "22004",
	ER_WARN_DATA_OUT_OF_RANGE:                   "22003",
	WARN_DATA_TRUNCATED:                         "01000",
	ER_WRONG_NAME_FOR_INDEX:                     "42000",
	ER_WRONG_NAME_FOR_CATALOG:                   "42000",
	ER_UNKNOWN_STORAGE_ENGINE:                   "42000",
	ER_TRUNCATED_WRONG_VALUE:                    "22007",
	ER_SP_NO_RECURSIVE_CREATE:                   "2F003",
	ER_SP_ALREADY_EXISTS:                        "42000",
	ER_SP_DOES_NOT_EXIST:                        "42000",
	ER_SP_LILABEL_MISMATCH:                      "42000",
	ER_SP_LABEL_REDEFINE:                        "42000",
	ER_SP_LABEL_MISMATCH:                        "42000",
	ER_SP_UNINIT_VAR:                            "01000",
	ER_SP_BADSELECT:                             "0A000",
	ER_SP_BADRETURN:                             "42000",
	ER_SP_BADSTATEMENT:                          "0A000",
	ER_UPDATE_LOG_DEPRECATED_IGNORED:            "42000",
	ER_UPDATE_LOG_DEPRECATED_TRANSLATED:         "42000",
	ER_QUERY_INTERRUPTED:                        "70100",
	ER_SP_WRONG_NO_OF_ARGS:                      "42000",
	ER_SP_COND_MISMATCH:                         "42000",
	ER_SP_NORETURN:                              "42000",
	ER_SP_NORETURNEND:                           "2F005",
	ER_SP_BAD_CURSOR_QUERY:                      "42000",
	ER_SP_BAD_CURSOR_SELECT:                     "42000",
	ER_SP_CURSOR_MISMATCH:                       "42000",
	ER_SP_CURSOR_ALREADY_OPEN:                   "24000",
	ER_SP_CURSOR_NOT_OPEN:                       "24000",
	ER_SP_UNDECLARED_VAR:                        "42000",
	ER_SP_FETCH_NO_DATA:                         "02000",
	ER_SP_DUP_PARAM:                             "42000",
	ER_SP_DUP_VAR:                               "42000",
	ER_SP_DUP_COND:                              "42000",
	ER_SP_DUP_CURS:                              "42000",
	ER_SP_SUBSELECT_NYI:                         "0A000",
	ER_STMT_NOT_ALLOWED_IN_SF_OR_TRG:            "0A000",
	ER_SP_VARCOND_AFTER_CURSHNDLR:               "42000",
	ER_SP_CURSOR_AFTER_HANDLER:                  "42000",
	ER_SP_CASE_NOT_FOUND:                        "20000",
	ER_DIVISION_BY_ZERO:                         "22012",
	ER_ILLEGAL_VALUE_FOR_TYPE:                   "22007",
	ER_PROCACCESS_DENIED_ERROR:                  "42000",
	ER_XAER_NOTA:                                "XAE04",
	ER_XAER_INVAL:                               "XAE05",
	ER_XAER_RMFAIL:                              "XAE07",
	ER_XAER_OUTSIDE:                             "XAE09",
	ER_XAER_RMERR:                               "XAE03",
	ER_XA_RBROLLBACK:                            "XA100",
	ER_NONEXISTING_PROC_GRANT:                   "42000",
	ER_DATA_TOO_LONG:                            "22001",
	ER_SP_BAD_SQLSTATE:                          "42000",
	ER_CANT_CREATE_USER_WITH_GRANT:              "42000",
	ER_SP_DUP_HANDLER:                           "42000",
	ER_SP_NOT_VAR_ARG:                           "42000",
	ER_SP_NO_RETSET:                             "0A000",
	ER_CANT_CREATE_GEOMETRY_OBJECT:              "22003",
	ER_TOO_BIG_SCALE:                            "42000",
	ER_TOO_BIG_PRECISION:                        "42000",
	ER_M_BIGGER_THAN_D:                          "42000",
	ER_TOO_LONG_BODY:                            "42000",
	ER_TOO_BIG_DISPLAYWIDTH:                     "42000",
	ER_XAER_DUPID:                               "XAE08",
	ER_DATETIME_FUNCTION_OVERFLOW:               "22008",
	ER_ROW_IS_REFERENCED_2:                      "23000",
	ER_NO_REFERENCED_ROW_2:                      "23000",
	ER_SP_BAD_VAR_SHADOW:                        "42000",
	ER_SP_WRONG_NAME:                            "42000",
	ER_SP_NO_AGGREGATE:                          "42000",
	ER_MAX_PREPARED_STMT_COUNT_REACHED:          "42000",
	ER_NON_GROUPING_FIELD_USED:                  "42000",
	ER_FOREIGN_DUPLICATE_KEY_OLD_UNUSED:         "23000",
	ER_CANT_CHANGE_TX_CHARACTERISTICS:           "25001",
	ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT:           "42000",
	ER_WRONG_PARAMETERS_TO_NATIVE_FCT:           "42000",
	ER_WRONG_PARAMETERS_TO_STORED_FCT:           "42000",
	ER_DUP_ENTRY_WITH_KEY_NAME:                  "23000",
	ER_XA_RBTIMEOUT:                             "XA106",
	ER_XA_RBDEADLOCK:                            "XA102",
	ER_FUNC_INEXISTENT_NAME_COLLISION:           "42000",
	ER_DUP_SIGNAL_SET:                           "42000",
	ER_SIGNAL_WARN:                              "01000",
	ER_SIGNAL_NOT_FOUND:                         "02000",
	ER_SIGNAL_EXCEPTION:                         "HY000",
	ER_RESIGNAL_WITHOUT_ACTIVE_HANDLER:          "0K000",
	ER_SPATIAL_MUST_HAVE_GEOM_COL:               "42000",
	ER_DATA_OUT_OF_RANGE:                        "22003",
	ER_ACCESS_DENIED_NO_PASSWORD_ERROR:          "28000",
	ER_TRUNCATE_ILLEGAL_FK:                      "42000",
	ER_DA_INVALID_CONDITION_NUMBER:              "35000",
	ER_FOREIGN_DUPLICATE_KEY_WITH_CHILD_INFO:    "23000",
	ER_FOREIGN_DUPLICATE_KEY_WITHOUT_CHILD_INFO: "23000",
	ER_CANT_EXECUTE_IN_READ_ONLY_TRANSACTION:    "25006",
	ER_ALTER_OPERATION_NOT_SUPPORTED:            "0A000",
	ER_ALTER_OPERATION_NOT_SUPPORTED_REASON:     "0A000",
	ER_DUP_UNKNOWN_IN_INDEX:                     "23000",
}
